/** @file         sub_fsm.h
 *  @brief        子状态机对外提供的状态接口
 *  @author       Schips
 *  @date         2021-01-22 19:50:04
 *  @version      v1.0
 *  @copyright    Copyright By Schips, All Rights Reserved
 */

#ifndef __SECOND_ORDER_FSM_DEMO_SUB_STATE__
#define __SECOND_ORDER_FSM_DEMO_SUB_STATE__


void* sub_step_init(void* this_fsm);
void* sub_step_do_something(void* this_fsm);
void* sub_step_done(void* this_fsm);

static Procedure sub_procedure_list[] = {
    sub_step_init,
    sub_step_do_something,
    sub_step_done
};

enum sub_procedure_id{
    sub_state_init,
    sub_state_do_something,
    sub_state_done
};


/* 额外需要提供的跳转序列接口 */
static inline Procedure* get_sub_procedure_list(void)
{
    return sub_procedure_list;
}

#endif /* Head define end*/

